package work.month05.day22;

/**
 * @Date 2020/05/22
 * @author 王光浩
 * @Need 该类继承了 Shape 类，内部的成员如下 
 *  字段： 
 *  （1）private double top; //保存上边长度 
 *  （2）private double bottom; //保存下边长度 
 *  （3）private double height; //保存高度长度
 *  构造方法：
 *   public Trapezoid (double top,double bottom,double height)     //内部调用父类的构造方法，将图形种类传入
 *  成员方法 
 *       （1）public void calculate();  //重写父类的方法，将图形的面积赋 aera 字段 
 *       （2）public void show(); //重写父类的方法，输出各个边长信息
 */
public class Trapezoid extends Shape {

	private double top; // 上边长度
	private double bottom; // 下边长度
	private double height; // 高度

	public Trapezoid(double top, double bottom, double height) {
		super("梯形"); // 调用父类的构造方法
		this.top = top;
		this.bottom = bottom;
		this.height = height;
	}

	/**
	 * 重写父类中 calculate 方法
	 */
	@Override
	public void calculate() {
		super.calculate();
		super.area = (this.bottom + this.top) * this.height /2;
	}
	
	/**
	 * 重写父类中的 show 方法
	 */
	@Override
	public void show() {
		System.out.printf("梯形的上低、下底、高分别为：%.2f,%.2f,%.2f", this.top, this.bottom, this.height);
		System.out.println();
		super.show();
	}
}
